ts types vs interfaces